Install a missing provider CLI with one click - #121
Merged
Conversation
A provider whose CLI is absent now carries an install capability when npm resolves on the server: `npm install -g <pkg>@latest`, the same command family updates use, run through the same maintenance runner (shared npm-global lock, output capture, updateState progress, post-command re-probe). Verification differs by intent: an install must leave the provider detectable, an update must leave it current; either shortfall reports as unchanged with a plain explanation. The settings card shows Install in its header action group with running and failure states; the first-run setup card upgrades its Install guide action to Install when the capability exists. Both render from streamed snapshots. A configured NPM_CONFIG_PREFIX is honored end to end (baked into the command's environment patch and display string), and with npm absent everything falls back to the linkified guide. Contracts: versionAdvisory gains installCommand/canInstall with decoding defaults for older snapshot caches; server.updateProvider gains an action field instead of a new RPC.
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
The create-folder palette test (issue #117) flaked because the click helper fired a synthetic click on the first DOM node matching the row label. During a palette view transition an exit-animating copy of the row can still be in the DOM with its React handlers gone, and a synthetic click on it is silently lost; a real pointer cannot make that mistake. The helper now emulates hit-testing and clicks the candidate that owns the pixels at its own center.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements the approved one-click installer: a missing provider CLI gets a single cross-platform Install button (settings card header + first-run setup card row) that runs npm global install through the existing maintenance runner — shared locking, output capture, progress state, and automatic re-probe on completion. NPM_CONFIG_PREFIX honored end to end. Falls back to the linkified install guide when npm is absent. Contracts extend versionAdvisory (installCommand/canInstall, decoding defaults for old caches) and reuse server.updateProvider with an action field.
Testing: gates green; contracts 191, web unit 2076, web browser 379 (known #117 flake retried once), server provider suites 659 pass / 5 pre-existing Windows-local failures verified identical on main. Mandatory sandboxed functional test (real npm install into a scratch NPM_CONFIG_PREFIX) runs before merge; results will be posted here.